//import 'dart:convert';
//import 'dart:isolate';
//import 'package:convert/convert.dart' show json;
//import 'package:flutter/src/widgets/framework.dart';
//import 'package:flutter/src/widgets/preferred_size.dart';
//import 'package:flutter_elf/_base/component_index.dart';
//
//class IsolatePage extends BaseWidget{
//  @override
//  BaseWidgetState<BaseWidget> getState() {
//    // TODO: implement getState
//    return IsolatePageState();
//  }
//}
//class IsolatePageState extends BaseWidgetState<IsolatePage>{
//
//  @override
//  void onCreate() {
//    // TODO: implement onCreate
//    super.onCreate();
//
//  }
//
//  loadData() async {
//    // 打开ReceivePort以接收传入的消息
//    ReceivePort receivePort = ReceivePort();
//    //创建并生成与当前Isolate共享相同代码的Isolate
//    await Isolate.spawn(dataLoader, receivePort.sendPort);
//    // 流的第一个元素
//    SendPort sendPort = await receivePort.first;
//    // 流的第一个元素被收到后监听会关闭，所以需要新打开一个ReceivePort以接收传入的消息
//    ReceivePort response = ReceivePort();
//    //通过此发送端口向其对应的“ReceivePort”①发送异步[消息]，这个“消息”指的是发送的参数②。
//    sendPort.send(
//        ["https://jsonplaceholder.typicode.com/posts", response.sendPort]);
//    // 获取端口发送来的数据③
//    List msg = await response.first;
//    setState(() {
//      widgets = msg;
//    });
//  }
//
//  // isolate的入口函数，该函数会在新的Isolate中调用，Isolate.spawn的message参数会作为调用它时的唯一参数
//  static dataLoader(SendPort sendPort) async {
//    // 打开ReceivePort①以接收传入的消息
//    ReceivePort port = ReceivePort();
//    // 通知其他的isolates，本isolate 所监听的端口
//    sendPort.send(port.sendPort);
//    // 获取其他端口发送的异步消息 msg② -> ["https://jsonplaceholder.typicode.com/posts", response.sendPort]
//    await for (var msg in port) {
//      //等价于List msg= await port.first;
//      String data = msg[0];
//      SendPort replyTo = msg[1];
//      String dataURL = data;
//      http.Response response = await http.get(dataURL);
//      // 其对应的“ReceivePort”发送解析出来的JSON数据③
//      replyTo.send(json.decode(response.body));
//    }
//  }
//
//
//  @override
//  Widget buildView(BuildContext context) {
//    // TODO: implement buildView
//    return null;
//  }
//
//  @override
//  PreferredSizeWidget initAppbar() {
//    // TODO: implement initAppbar
//    return null;
//  }
//}